#pragma once

#include "Item.h"

class ScrambledItem : public Item {
protected:
	TypeHierarchy m_scrambledCategory;
	int m_scrambledType;
	void load(TypeHierarchy scrambledCategory, int scrambledType);
public:
	ScrambledItem(GenericType type, TypeHierarchy scrambledCategory, int scrambledType);
	ScrambledItem(GenericType type, std::ifstream& file);
	virtual ~ScrambledItem();
	std::string getDescription() const;
	int getScrambledType() const;
	std::string getItemName(int mod = 0) const;
	void save(std::ofstream& file) const;
};

inline int ScrambledItem::getScrambledType() const {return m_scrambledType;}

